package initialize

import (
	"github.com/fsnotify/fsnotify"
	"github.com/spf13/viper"
	"go.uber.org/zap"
	"goods_srv/global"
)

func InitAppConfig() {
	viper.SetConfigFile("./appconfig/dev.yaml")

	err := viper.ReadInConfig()
	if err != nil {
		zap.S().Error(err)
	}
	err = viper.Unmarshal(&global.AppConf)
	if err != nil {
		zap.S().Error(err)
	}

	go func() {
		viper.OnConfigChange(func(e fsnotify.Event) {
			err := viper.ReadInConfig()
			if err != nil {
				zap.S().Error(err)
			}
			err = viper.Unmarshal(&global.AppConf)
			if err != nil {
				zap.S().Error(err)
			}
			zap.S().Info(global.AppConf)
		})
		viper.WatchConfig()
	}()
}
